package Clock;

import Utils.Util;

public class DirectClock {
    public int[] clock;
    int myId;

    public DirectClock(int numProc, int id) {
        myId = id;
        clock = new int[numProc];
        for (int i = 0; i < numProc; i++) clock[i] = 0;
        clock[myId] = 1;
    }

    public int getValue(int i) {
        return clock[i];
    }

    public void tick() {
        clock[myId]++;
    }

    public void sendAction() {
        //sentValue = clock[myId];
        tick();
    }

    public void receiveAction(int sender, int sentValue) {
        clock[sender] = Util.max(clock[sender],sentValue);
        clock[myId] = Util.max(clock[myId],sentValue) + 1;
    }

}
